Since the advent of the computer system, computer programming bugs have plagued application programs and operating systems. Often when a new program is introduced into the market, during the initial months of use various features are discovered not to function properly. Although computer programmers make efforts to minimize programming bugs, the marketplace has come to expect that the introduction of a new computer application or system will have programming bugs that will have to be fixed. Typically these type bugs will cause a temporary crash in the system which can be corrected without a substantial loss of data.
Although most programming problems arise unexpectedly and can be corrected with ease or moderate expense, one of the largest and most expensive computer programming problems is on the horizon. The programming problem is not typical in that it was not unforeseen but was ignored as something that would be addressed in the future. Now that the future is here, the enormity of the problem is being realized. The problem arises from the common place programming practice that uses and calculates dates based only on the last two digits of the year date rather than including all digits of the date. This problem is most often referred to as the Year 2000 Problem or Millennium Bug. The Year 2000 Problem will cause a computer program to miscalculate dates or return erroneous data when the internal clock on the computer transitions from the year 1999 to the year 2000.
The Year 2000 Problem has been considered by many to exist mainly in mainframe computer systems that were programmed in the COBOL language many years ago when memory space in computer systems was very limited. Computer programmers in an effort to streamline the amount of data that was stored or manipulated in a computer program, wrote efficient code that stored dates using the least amount of memory space in the computer system. Rather than programming dates in the computer system using the entire representation of the date, such as Dec. 7, 1996, programmers used a six-digit representation of a date such as 120796. Because many aspects of computer programs operate based on the adding, subtracting or manipulating dates from various fields, when the year 2000 is reached as determined by the clock in the computer system, the two-digit representation of the year will transition to "1900", "1970" or other dates that may serve as a beginning point for time in the computer. When this transition occurs many computer systems will shut down or provide erroneous data when calculations are made based upon the incorrect date.
The primary customers or individuals who are concerned with the Year 2000 Problem are institutional customers that have invested millions of dollars in mainframe computer systems that require special programming expertise to solve the Year 2000 Problem. Although the year 2000 problem is often thought to primarily exist in mainframe computer systems, the Year 2000 programming Problem also exists for many personal computers ("PC's"). These large institutional customers have many PC's that are connected to mainframe computer systems or that are simply interfaced through a network server. Thus, PC's could be affected in two (2) ways. First, PC's can be adversely affected by the Year 2000 programming problem if the mainframe to which the PC is connected crashes. Second, a programming problem may exist in any of one of numerous components of the PC in which dates have been abbreviated for programming. These institutional companies that have invested millions of dollars in computer systems are, for example, the National Defense Department of the United States, banking and financial institutions, and medical institutions.
The most immediate way of handling the Year 2000 Problem may be to replace current computer systems with computer systems that do not contain this bug. However, most companies have invested substantial sums of money into their system and an entire overhaul of the computer system would be extraordinarily expensive. Even with PC's, for a large organization, replacing each PC with computers believed to have Year 2000 enabled solutions is not economically practical. Furthermore, there is not a guarantee that the replacement systems will solve the problem.
In reality, millions of computers installed today will still be in use in the year 2000. Many will be running today's operating systems and applications built with today's computer language. Even if these general operating systems or applications are replaced, plug-in compatible hardware and software will still exist in the marketplace. Plug-in compatibles as well as many PC's are built by different manufacturers. Manufacturers of PC's, as well as manufacturers of plug-in compatibles, buy timer chips, firmware, the basic input/output system ("BIOS") and applications from various manufacturers and companies. The computer equipment manufacturers typically purchase compatible chips and BIOS from the lowest cost provider at the time of manufacturing the equipment. Given the various manufacturers of computer components, no one can be sure what aspects of the chips, firmware, BIOS or applications work properly with the operating system or with a specific computer language.
With regard to the horrors that the Year 2000 Problem may present, it has been stated that 15 to 20% of businesses worldwide may cease to exist. A consensus believes that virtually every business worldwide will be effected in some fashion. Some figures indicate that 75% of businesses worldwide will spend a large sum approaching 5 years worth of profits, which will not produce a return on investment. Some may believe that the problem is over exaggerated. However, many of the predictions are real and will have a significant impact on a business if the business executives refuse to recognize the significance and magnitude of the problem. Those companies that believe that the problem will not happen to them will procrastinate until it is too late and will likely suffer some loss. Virtually every business relies on computers for payroll, billing, insurance, sales, order processing, accounting, inventory, or process control. It does not matter whether the computers are mainframes, minicomputers, or personal computers--the Year 2000 Problem exists and needs to be addressed.
While many people recognize that applications and general operating systems of PC's will be effected, there has not been full recognition of the significance of the problem in a PC. There are various levels of the PC system which may cause a time-based failure which have not been fully addressed in a PC. Particularly, six levels should be addressed: (1) the application level; (2) the sub-system level; (3) the language level; (4) the operating system level; (5) BIOS level; and (6) the hardware level. These six levels of functions in the computer system are significant because they typically represent multiple vendors. Because various manufacturers provide pieces of the system, this makes tracking the problem difficult and gives rise to the problem of identifying the particular vendor or manufacturer that contributed to or caused the problem.
As noted previously, it is not practical to replace an entire inventory of computer systems. Unnecessarily replacing a PC would cost in today's market from $2500 to $4500 per system. Therefore, there is a need in the art which provides a solution that enables the Year 2000 Problem to be addressed economically in a PC system and that isolates Year 2000 problems in a PC to one of the six specific levels so that the identified level can be corrected or avoided during use of the system.